home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / emacs16d.zip / _KBDMACR.MIN < prev    next >
Text File  |  1991-07-19  |  3KB  |  137 lines

  1.  
  2.  
  3.  
  4. Name:F:call-last-kbd-macro
  5. Execute a previously defined keyboard macro
  6. [*]    
  7. #(ds,kbd-count,arg1)
  8. #(kbd-macro)[*]
  9.  
  10.  
  11. Name:F:kbd-macro-query
  12. [*]#(n?,kbd-macro-d,,(
  13.     #(k)
  14.     #(an,(Proceed with macro? (Space, DEL, or C-d)))
  15.     #(Fkbd-macro-query,#(kbd-macro-g)#(an))
  16. ))[*]
  17.  
  18.  
  19. Name:F:name-last-kbd-macro
  20. Give a name to a previously defined keyboard macro
  21. [*]#(Finsist,(arg1),SELF,(
  22.     #(ds,U:arg1,##(kbd-macro))
  23. ))[*]
  24.  
  25.  
  26. Name:F:start-kbd-macro
  27. Start remembering keys into a keyboard macro.
  28. [*]#(n?,kbd-macro-d,(
  29.     #(Fmessage,You are already defining a key!)
  30. ),(
  31.     #(ds,kbd-macro)
  32.     #(ds,kbd-last)
  33.     #(ds,kbd-macro-g,##(gs,g))
  34.     #(ds,g,(#(Fkbd-macro-g,#(kbd-macro-g))))
  35.     #(ds,kbd-macro-d,##(gs,d,#(Farglist)))
  36.     #(mp,kbd-macro-d,#(Farglist))
  37.     #(ds,d,(
  38.         #(kbd-macro-d,char)
  39.         #(ds,kbd-macro,
  40.             ##(kbd-macro)
  41.             ##(kbd-last)
  42.         )
  43.         #(ds,kbd-last)
  44.     ))
  45.     #(mp,d,,char)
  46. ))[*]
  47.  
  48.  
  49. Name:F:stop-kbd-macro
  50. Stop remembering a keyboard macro.  The key may be executed with C-x e.
  51. [*]#(n?,kbd-macro-d,(
  52.     #(ds,d,##(gs,kbd-macro-d,#(Farglist)))
  53.     #(mp,d,#(Farglist))
  54.     #(ds,g,##(gs,kbd-macro-g))
  55.     #(es,kbd-macro-g,kbd-macro-d,kbd-last)
  56.     #(ds,kbd-macro,###(Fparens,Frun-kbd-macro(,)##(kbd-macro)))
  57. ),(
  58.     #(Fmessage,You weren't defining a key!)
  59. ))[*]
  60.  
  61.  
  62. Name:Fkbd-macro-g
  63. This is the #(g) during keyboard macro definition.
  64. [*]#(ds,kbd-last,##(kbd-last)arg1<>)
  65. arg1[*]
  66.  
  67.  
  68. Name:Fkbd-macro-query
  69. [*]#(n?,Fkbd-macro-query.arg1,(
  70.     #(Fkbd-macro-query.arg1)
  71. ),(
  72.     #(ds,kbd-count)
  73.     #(ds,kbd-buffer,arg1<>)
  74. ))
  75. [*]
  76.  
  77.  
  78. Name:Fkbd-macro-query. 
  79. [*][*]
  80.  
  81.  
  82. Name:Fkbd-macro-query.?
  83. [*]#(ow,(
  84. ' ' to continue.
  85. Del to skip the remainder of this one.
  86. C-d to skip this one and any remaining repetitions.
  87. Any other key stops the macro and executes the key.
  88. ))
  89. #(Fhit-any-key)
  90. #(F:kbd-macro-query)[*]
  91.  
  92.  
  93. Name:Fkbd-macro-query.Back Space
  94. [*]#(Fkbd-macro-query.Del)[*]
  95.  
  96.  
  97. Name:Fkbd-macro-query.C-d
  98. [*]#(ds,kbd-count)
  99. #(..,##(gn,kbd-buffer,32767))[*]
  100.  
  101.  
  102. Name:Fkbd-macro-query.Del
  103. [*]#(..,##(gn,kbd-buffer,32767))[*]
  104.  
  105.  
  106. Name:Frun-kbd-macro
  107. Execute a keyboard macro.
  108. [*]#(ds,kbd-buffer,(arg1))
  109. #(ds,kbd-macro-g,##(gs,g))
  110. #(ds,g,(#(SELF-do)))
  111. #(SELF-run)
  112. [*]
  113.  
  114.  
  115. Name:Frun-kbd-macro-do
  116. [*]##(fm,kbd-buffer,<>,(
  117.     #(ds,g,##(gs,kbd-macro-g))
  118.     #(es,kbd-macro-g,kbd-buffer,kbd-count)
  119.     #(k)
  120.     #(g)
  121. ))[*]
  122.  
  123.  
  124. Name:Frun-kbd-macro-run
  125. [*]#(d,#(g))
  126. #(==,##(kbd-buffer),,(
  127.     #(ds,kbd-count,##(--,##(kbd-count),1))
  128.     #(g?,##(kbd-count),0,(
  129.         #(rs,kbd-buffer)
  130.         #(SELF)
  131.     ),(
  132.         #(ds,g,##(gs,kbd-macro-g))
  133.         #(es,kbd-macro-g,kbd-buffer,kbd-count)
  134.         #(k)
  135.     ))
  136. ),(
  137.     #(SELF)))[*]